const app = getApp()
Page({

  /**
   * 页面的初始数据
   */
  data: {
    part: false, // 仅小组可看 开启/关闭 控制标识
    all: false, // 全部可看 开启/关闭 控制标识
    self: false, // 仅自己可看 开启/关闭 控制标识
    storage: false,
    experience_review_src: [ // 提交心得评分五角星icon图标列表
      "../../static/images/index/star.jpg",
      "../../static/images/index/star.jpg",
      "../../static/images/index/star.jpg",
      "../../static/images/index/star.jpg",
      "../../static/images/index/star.jpg"
    ],
    article_review_src: [ // 阅读文章评分五角星icon图标列表
      "../../static/images/index/star.jpg",
      "../../static/images/index/star.jpg",
      "../../static/images/index/star.jpg",
      "../../static/images/index/star.jpg",
      "../../static/images/index/star.jpg"
    ],
    data: {}, // 用户心得数据
    study_content: '', // 心得体会内容
    study_id: '', // 作业ID
    // status: false, // 修改功能是否显示
    study_comment: [], // 评论列表
    selectCommentIndex: '', // 长按评论选中的评论下标
    is_draft: '', // 作业是暂存/完成状态（1：暂存，2：完成）
    showInput: false, // 是否弹出评论框
    commentContent: '', // 评论内容
    userID: '', // 当前用户ID
    fontSetSize: 'small', // 用户设置的字体大小（'small'：小，'middle'：中，'large'：大）
  },

  // 复制
  copy(e) {
    wx.setClipboardData({
      data: e.currentTarget.dataset.text,
      success: function (res) {
        wx.getClipboardData({
          success: function (res) {
            wx.showToast({
              title: '复制成功'
            })
          }
        })
      }
    })
  },

  // 复制文本（心得体会）
  copyTextSense: function (e) {
    this.copy(e);
  },

  // 获取文本框值（心得体会）
  onSenseChange(e) {
    this.setData({
      study_content: e.detail.value
    })
  },

  // 获取用户的作业详情（已完成作业再回到该页面的时候）
  getUserExperience () {
    let token = wx.getStorageSync('token')
    let study_id = this.data.study_id
    app.http({
      config: {
        url: '/api/User/my_study_info',
        data: {
          token,
          study_id
        },
        method: 'POST'
      },
      isAuth: true
    }).then(res => {
      console.log(res, 'userExperienceRes')
      let data = res.data.data
      let is_draft = res.data.data.is_draft
      this.setData({
        is_draft,
        data
      })
      let study_content = data.study_content
      if (study_content) { // 心得作业存在
        this.setData({
          study_content
        })
        if (is_draft == '2') {
          let experience_review_src = []
          // for循环，改变"提交心得"五角星图标为点亮状态
          for (let i = 0; i < 5; i++) {
            experience_review_src[i] = "../../static/images/index/star_select.jpg"
          }
          let study_comment = data.study_commnet // 评论列表
          this.setData({
            experience_review_src,
            study_comment
          })
        }
      }
    }).catch(err => {
      console.log(err, 'userExperienceErr')  
    })
  },

  // 点击评论按钮，拉起输入框
  handleComment () {
    this.setData({
      showInput: true
    })
  },

  // 提交评论内容
  formSubmit (e) {
    console.log('form发生了submit事件，携带数据为：', e.detail.value)
    let comment = e.detail.value.comment
    console.log(e, comment)
    let study_id = this.data.study_id
    let token = wx.getStorageSync('token')
    app.http({
      config: {
        url: '/api/User/create_study_comment',
        data: {
          token,
          study_id,
          comment
        },
        method: 'POST'
      },
      isAuth: true
    }).then(res => {
      console.log(res, 'commentRes')
      this.getUserExperience()
      this.pageScrollToBottom()
    }).catch(err => {
      console.log(err, 'commentErr')
    })
  },

  // 长按选中评论，弹出删除评论按钮
  handleSelectComment (e) {
    console.log(2222)
    let selectCommentIndex = e.currentTarget.dataset.index
    this.setData({
      selectCommentIndex
    })
  },

  // 点击页面任意地方取消评论选中状态
  handleDeleteSelectComment () {
    console.log(1111)
    this.setData({
      selectCommentIndex: ''
    })
  },

  // 删除评论
  deleteComment (e) {
    let study_comment_id = e.currentTarget.dataset.comment
    let token = wx.getStorageSync('token')
    app.http({
      config: {
        url: '/api/User/del_study_comment',
        data: {
          token,
          study_comment_id
        },
        method: 'POST'
      },
      isAuth: true
    }).then(res => {
      console.log(res, 'deleteCommentRes')
      this.setData({
        selectCommentIndex: ''
      })
      this.getUserExperience()
    }).catch(err => {
      console.log(err, 'deleteCommentErr')
    })
  },

  // 评论输入框失去焦点
  inputBlur () {
    this.setData({
      showInput: false
    })
  },

  // 评论输入框获得焦点
  inputFous () {
    this.setData({
      commentContent: ''
    })
    this.pageScrollToBottom()
  },

  //页面自动滚动到底部
  pageScrollToBottom: function () {
    wx.createSelectorQuery().select('.intro').boundingClientRect(function(rect){
      // console.log(rect);
      wx.pageScrollTo({
        scrollTop: rect.height,
      })
    }).exec()
  },

  /**
   * 获取当前用户个人资料
   */
  getPersonalInfo () {
    let token = wx.getStorageSync('token')
    app.http({
      config: {
        url: '/api/User/personal_info',
        data: {
          token
        },
        method: 'POST'
      },
      isAuth: false
    }).then(res => {
      console.log(res, 'personalInfoRes')
      this.setData({
        userID: res.data.data.id
      })
    }).catch(err => {
      console.log(err, 'personalInfoErr')
    })
  },

  // 分享
  onShare () {
    this.onShareAppMessage()
  },

  // 查看更多
  onMore () {
    console.log("查看更多")
  },

  onLoad: function (options) {
    let _this = this
    let study_id = options.study_id // 作业ID
    _this.setData({
      study_id
    })
    _this.getUserExperience() // 获取用户的作业详情
    _this.getPersonalInfo() // 获取当前用户个人资料
  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {
    let fontSetSize = wx.getStorageSync('fontSetSize') // 本地缓存中用户设置的字体大小
    if (fontSetSize) {
      this.setData({
        fontSetSize
      })
    }
  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function (res) {
    if (res.from === 'button') {
      // 来自页面转发按钮
      console.log(res.target, res)
    }
    return {
      title: '心得详情',
      path: 'pages/personal_rich_text_experience/personal_rich_text_experience?study_id=' + this.data.study_id
    }
  }
})